#ifndef __COMPILER_H
#define __COMPILER_H

#ifdef __cplusplus
 extern "C" {
#endif

#include <stdio.h>
#include <string.h>


/* type definitions */
typedef unsigned char          	UINT8;
typedef unsigned short         	UINT16;
typedef unsigned int           	UINT32;
typedef signed char            	INT8;
typedef signed short           	INT16;
typedef signed int             	INT32;

typedef unsigned long           UINT64;
typedef signed long             INT64;

typedef char               	CHAR;
typedef unsigned char     	UCHAR;
typedef short            	SHORT;
typedef unsigned short  	USHORT;
typedef int             	INT;
typedef unsigned int    	UINT;
typedef signed long        	LONG;
typedef unsigned long		ULONG;
typedef signed long long  	LONG64;
typedef unsigned long long	ULONG64;
typedef float           	FLOAT;
typedef double            	DOUBLE;
typedef unsigned int       	BOOL;



#define VOID          void

#ifndef FALSE
#define FALSE         ((BOOL)0)
#endif

#ifndef TRUE
#define TRUE          ((BOOL)1)
#endif

#ifndef NULL
#ifdef __cplusplus
#define NULL          0L
#else
#define NULL          ((void*)0)
#endif
#endif

#define NULL_BYTE  		((UINT8)0xFF)
#define NULL_SHORT 		((UINT16)0xFFFF)
#define NULL_INT   		((UINT32)0xFFFFFFFF)

#ifndef OK
#define OK        		0U
#endif

#ifndef NOK
#define NOK       		1U
#endif

#ifndef EER
#define EER				0xFFFFFFFFU
#endif
#define SYS_FAIL       	1
#define SYS_ERROR      	(UINT32)(-1)
#define SYS_INVALID    	(UINT32)(-1)
#define SYS_64BIT_MAX  	(0xFFFFFFFFFFFFFFFFULL)



#ifdef __cplusplus
}
#endif
#endif

